package com.xcjh.utils;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

import java.io.IOException;

/**
 * <p>
 *  发送短信api
 * </p>
 *
 * @author:bood
 * @date:2021/11/8
 */
public class SendSMSUtil {
    public static final String UID = "zhouzhongyang";
    public static final String KEY = "d41d8cd98f00b204e980";

    public static void main(String[] args) {
        sendSms("19302893459","您的验证码是:" + RandomUtils.getRandomString(4) + ";请在三分钟内使用");
    }
    public static void sendSms(String phone, String message) {

        try {
            HttpClient client = new HttpClient();
            PostMethod post = new PostMethod("http://utf8.api.smschinese.cn");
            post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf8");//在头文件中设置转码
            NameValuePair[] data = {new NameValuePair("Uid", "UID"),
                    new NameValuePair("Key", "KEY"),
                    new NameValuePair("smsMob", phone),
                    new NameValuePair("smsText", message)};
            post.setRequestBody(data);

            client.executeMethod(post);
            Header[] headers = post.getResponseHeaders();
            int statusCode = post.getStatusCode();
            System.out.println("statusCode:" + statusCode);
            for (Header h : headers) {
                System.out.println(h.toString());
            }
            String result = new String(post.getResponseBodyAsString().getBytes("utf8"));
            System.out.println(result); //打印返回消息状态


            post.releaseConnection();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
